<?php
class News extends MX_Controller{
	function __construct(){
		parent::__construct();
		if(!$this->session->userdata('Loggein')){
			header('Location:' . $this->config->item('base_url') . '/admin');exit;
		}
	}
	
	function index(){
		if($this->session->userdata('Image')){
			@unlink('data/temp/' . $this->session->userdata('Image'));
			$this->session->unset_userdata('Image');
		}
		$this->load->model('news_model', 'news');
		$this->load->library('paging');
		$limit = 20;
		$page = 1;
		$strSearch = null;
		$search = null;
		if($this->input->get('page')){
			$page = $this->input->get('page');
		}
		if($this->input->get('Title') or $this->input->get('CategoryID')){
			$search['Title']		= $this->input->get('Title');
			$search['CategoryID']	= $this->input->get('CategoryID');
			foreach($search as $key=>$value){
				$strSearch .= $key . '=' . urlencode($value) . '&';
			}
		}
		$this->paging->url			= $this->config->item('base_url') . '/admin/news?' . $strSearch . 'page=';
		$this->paging->total_record	= $this->news->RowCount($search);
		$this->paging->page_limit	= $limit;
		$data['paging'] = $this->paging->CreateLink($page);
		$page = ($page - 1) * $limit;
		$data['ListNews'] = $this->news->GetListForPaging($limit, $page, $search);
		$this->layout->view('news', $data);
	}
	
	function details($NewsID){
		$this->load->model('news_model', 'news');
		$this->load->model('string_model', 'code');
		if($this->input->post()){
			if(array_search(false, $this->input->post())){
				$data['Item'] = (object)$this->input->post();
				$data['Item']->TempAvatar = $this->session->userdata('Image');
				$data['Error'] = 'Xin vui lòng nhập đầy đủ thông tin';
			} else {
				$data = $this->input->post();
				$data['Item'] = (object)$this->input->post();
				$data['Item']->TempAvatar = $this->session->userdata('Image');
				if($this->session->userdata('Image')){
					if(file_exists('data/temp/' . $this->session->userdata('Image'))){
						$targetName = rand() . $this->session->userdata('Image');
					} else {
						$targetName = $this->session->userdata('Image');
					}
					@copy('data/temp/' . $this->session->userdata('Image'), 'data/img/' . $targetName);
					@unlink('data/temp/' . $this->session->userdata('Image'));
					$this->session->unset_userdata('Image');
					$data['Avatar'] = $targetName;
				}
				$data['Code']	= preg_replace('/[^A-Za-z0-9 -]/', '', $this->code->ReplaceUtf8($data['Title']));
				if($this->news->UpdateNews($data)){
					$data['Error'] = 'Cập nhật thành công';
				} else {
					$data['Error'] = 'Kết nối tới máy chủ thất bại. Xin vui lòng thử lại sau ít phút';
				}
			}
		} else {
			$data['Item'] = $this->news->GetInfoByID($NewsID);
			if(!$data['Item']){
				header('Location:' . $this->config->item('base_url') . '/admin/news');exit;
			}
		}
		$data['ListCategory'] = $this->news->GetListCategory();
		$this->layout->view('news_details', $data);
	}
	
	function post(){
		$this->load->model('news_model', 'news');
		$this->load->model('string_model', 'code');
		if($this->input->post()){
			if((array_search(false, $this->input->post()) && $this->input->post('Avatar') && $this->input->post('Avatar')) or !$this->session->userdata('Image')){
				$data['Item'] = (object)$this->input->post();
				$data['Item']->TempAvatar = $this->session->userdata('Image');
				$data['Error'] = 'Xin vui lòng nhập đầy đủ thông tin';
			} else {
				$data = $this->input->post();
				if($this->session->userdata('Image')){
					if(file_exists('data/temp/' . $this->session->userdata('Image'))){
						$targetName = rand() . $this->session->userdata('Image');
					} else {
						$targetName = $this->session->userdata('Image');
					}
					@copy('data/temp/' . $this->session->userdata('Image'), 'data/img/' . $targetName);
					@unlink('data/temp/' . $this->session->userdata('Image'));
					$this->session->unset_userdata('Image');
					$data['Avatar'] = $targetName;
				}
				$User = $this->session->userdata('Loggein');
				$data['UserID'] = $User->UserID;
				$data['Code']	= preg_replace('/[^A-Za-z0-9 -]/', '', $this->code->ReplaceUtf8($data['Title']));
				if($this->news->InsertNews($data)){
					$data['Error'] = 'Cập nhật thành công';
				} else {
					$data['Error'] = 'Kết nối tới máy chủ thất bại. Xin vui lòng thử lại sau ít phút';
				}
			}
		}
		$data['ListCategory'] = $this->news->GetListCategory();
		$this->layout->view('news_details', $data);
	}
}